import 'package:flutter/cupertino.dart';
import 'package:flutter_svg/svg.dart';

enum IconNames {
  jiantou_up, sousuo, jiantou_down, qingchu, jiantou_left, jiantou_right, shaixuan, shouye_dingbu, denglu_yonghuming, denglu_mima, tongyong_weixuan, tongyong_yixuan, sh_fukuanshenhe, denglu_zhengyan, denglu_biyan, xiasanjiaoxing, shangsanjiaoxing, yaodianxinxi, shouhuoguanli, kongxiaoxieyi, tuihuanguize, changjianwenti, zaixiankefu, wodefapiao, pingtaizhengshu, zhuanshushangwu, kuaisuxiadan, wodeshoucang, xinyuandan, shouyingziliao, xiadan, daifahuo, daifukuan, daishouhuo, shouhoujilu, yishouhuo, gouwuche_mian, shouye_xian, shouye_mian, wode_mian, gouwuche_xian, wode_xian, jiagou, quanbushangpin_xian, quanbushangpin_mian, xiaoxi
}

extension parseString on IconNames {
  String serialize() => this.toString().split('.').last;
}

/// A class includes all icons which you provided from https://iconfont.cn
///
/// How to use it:
/// ```dart
/// IconFont(IconNames.xxx);
/// IconFont(IconNames.xxx, color: '#f00');
/// IconFont(IconNames.xxx, colors: ['#f00', 'blue']);
/// IconFont(IconNames.xxx, size: 30, color: '#000');
/// ```
///
/// The name is dynamic to against server interface.
/// Feel free to input string literal.
/// ```dart
/// IconFont('xxx');
/// ```
class IconFont extends StatelessWidget {
  IconNames name;
  final String color;
  final List<String> colors;
  final double size;

  IconFont(dynamic iconName, { this.size = 18, this.color, this.colors }) {
    this.name = getIconNames(iconName);
  }

  static IconNames getIconNames(dynamic iconName) {
    switch (iconName) {
      case 'jiantou_up':
        iconName = IconNames.jiantou_up;
        break;
      case 'sousuo':
        iconName = IconNames.sousuo;
        break;
      case 'jiantou_down':
        iconName = IconNames.jiantou_down;
        break;
      case 'qingchu':
        iconName = IconNames.qingchu;
        break;
      case 'jiantou_left':
        iconName = IconNames.jiantou_left;
        break;
      case 'jiantou_right':
        iconName = IconNames.jiantou_right;
        break;
      case 'shaixuan':
        iconName = IconNames.shaixuan;
        break;
      case 'shouye_dingbu':
        iconName = IconNames.shouye_dingbu;
        break;
      case 'denglu_yonghuming':
        iconName = IconNames.denglu_yonghuming;
        break;
      case 'denglu_mima':
        iconName = IconNames.denglu_mima;
        break;
      case 'tongyong_weixuan':
        iconName = IconNames.tongyong_weixuan;
        break;
      case 'tongyong_yixuan':
        iconName = IconNames.tongyong_yixuan;
        break;
      case 'sh_fukuanshenhe':
        iconName = IconNames.sh_fukuanshenhe;
        break;
      case 'denglu_zhengyan':
        iconName = IconNames.denglu_zhengyan;
        break;
      case 'denglu_biyan':
        iconName = IconNames.denglu_biyan;
        break;
      case 'xiasanjiaoxing':
        iconName = IconNames.xiasanjiaoxing;
        break;
      case 'shangsanjiaoxing':
        iconName = IconNames.shangsanjiaoxing;
        break;
      case 'yaodianxinxi':
        iconName = IconNames.yaodianxinxi;
        break;
      case 'shouhuoguanli':
        iconName = IconNames.shouhuoguanli;
        break;
      case 'kongxiaoxieyi':
        iconName = IconNames.kongxiaoxieyi;
        break;
      case 'tuihuanguize':
        iconName = IconNames.tuihuanguize;
        break;
      case 'changjianwenti':
        iconName = IconNames.changjianwenti;
        break;
      case 'zaixiankefu':
        iconName = IconNames.zaixiankefu;
        break;
      case 'wodefapiao':
        iconName = IconNames.wodefapiao;
        break;
      case 'pingtaizhengshu':
        iconName = IconNames.pingtaizhengshu;
        break;
      case 'zhuanshushangwu':
        iconName = IconNames.zhuanshushangwu;
        break;
      case 'kuaisuxiadan':
        iconName = IconNames.kuaisuxiadan;
        break;
      case 'wodeshoucang':
        iconName = IconNames.wodeshoucang;
        break;
      case 'xinyuandan':
        iconName = IconNames.xinyuandan;
        break;
      case 'shouyingziliao':
        iconName = IconNames.shouyingziliao;
        break;
      case 'xiadan':
        iconName = IconNames.xiadan;
        break;
      case 'daifahuo':
        iconName = IconNames.daifahuo;
        break;
      case 'daifukuan':
        iconName = IconNames.daifukuan;
        break;
      case 'daishouhuo':
        iconName = IconNames.daishouhuo;
        break;
      case 'shouhoujilu':
        iconName = IconNames.shouhoujilu;
        break;
      case 'yishouhuo':
        iconName = IconNames.yishouhuo;
        break;
      case 'gouwuche_mian':
        iconName = IconNames.gouwuche_mian;
        break;
      case 'shouye_xian':
        iconName = IconNames.shouye_xian;
        break;
      case 'shouye_mian':
        iconName = IconNames.shouye_mian;
        break;
      case 'wode_mian':
        iconName = IconNames.wode_mian;
        break;
      case 'gouwuche_xian':
        iconName = IconNames.gouwuche_xian;
        break;
      case 'wode_xian':
        iconName = IconNames.wode_xian;
        break;
      case 'jiagou':
        iconName = IconNames.jiagou;
        break;
      case 'quanbushangpin_xian':
        iconName = IconNames.quanbushangpin_xian;
        break;
      case 'quanbushangpin_mian':
        iconName = IconNames.quanbushangpin_mian;
        break;
      case 'xiaoxi':
        iconName = IconNames.xiaoxi;
        break;

    }
    return iconName;
  }

  static String getColor(int arrayIndex, String color, List<String> colors, String defaultColor) {
    if (color != null && color.isNotEmpty) {
      return color;
    }

    if (colors != null && colors.isNotEmpty && colors.length > arrayIndex) {
      return colors.elementAt(arrayIndex);
    }

    return defaultColor;
  }

  @override
  Widget build(BuildContext context) {
    String svgXml;

    switch (this.name) {
      case IconNames.jiantou_up:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M512.69 354.6a61.19 61.19 0 0 1 43.25 17.78999999l237.12 237.20000002a35 35 0 0 1-49.55 49.54999999l-230.89-230.9-230.9 230.89a35 35 0 1 1-49.55-49.55L469.3 372.46a61.41 61.41 0 0 1 43.39-17.86z"
              fill="''' + getColor(0, color, colors, '#42494F') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.sousuo:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M830.486464 796.124515 672.790943 638.42797c44.959904-52.799318 72.109099-121.232412 72.109099-196.016087 0-167.084182-135.448007-302.533214-302.53219-302.533214s-302.533214 135.449031-302.533214 302.533214 135.449031 302.53219 302.533214 302.53219c74.782651 0 143.215745-27.149196 196.017111-72.109099L796.101988 830.531518c9.499249 9.499249 24.885227 9.499249 34.384476 0S839.986737 805.623764 830.486464 796.124515zM442.366829 698.401131c-141.380814 0-255.989248-114.631985-255.989248-255.989248 0-141.403341 114.608434-255.989248 255.989248-255.989248 141.37979 0 255.989248 114.585907 255.989248 255.989248C698.356077 583.769146 583.747643 698.401131 442.366829 698.401131z"
              fill="''' + getColor(0, color, colors, '#333333') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.jiantou_down:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M511.31 669.4a61.19 61.19 0 0 1-43.25-17.79l-237.12-237.2a35 35 0 0 1 49.55-49.55l230.89 230.9 230.9-230.89a35 35 0 1 1 49.55 49.55L554.7 651.54a61.41 61.41 0 0 1-43.39 17.86z"
              fill="''' + getColor(0, color, colors, '#42494F') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.qingchu:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M737.2 307C624 193.7 440.2 193.7 327 307s-113.3 297 0 410.3 297 113.3 410.3 0 113.3-297-0.1-410.3zM363.1 681.1c-93.3-93.3-93.3-244.6 0-337.9 93.3-93.3 244.6-93.3 337.9 0 93.3 93.3 93.3 244.6 0 337.9-93.2 93.3-244.6 93.3-337.9 0z"
              fill="''' + getColor(0, color, colors, '#333333') + '''"
            />
            <path
              d="M658.8 421.6l-90.5 90.5 90.5 90.5-36.2 36.2-90.5-90.5-90.5 90.5-36.2-36.2 90.5-90.5-90.5-90.5 36.2-36.2 90.5 90.5 90.5-90.5z"
              fill="''' + getColor(1, color, colors, '#333333') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.jiantou_left:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M354.6 511.31a61.19 61.19 0 0 1 17.78999999-43.25l237.20000002-237.12a35 35 0 0 1 49.54999999 49.55l-230.9 230.89 230.89 230.9a35 35 0 1 1-49.55 49.55L372.46 554.7a61.41 61.41 0 0 1-17.86-43.39z"
              fill="''' + getColor(0, color, colors, '#42494F') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.jiantou_right:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M669.4 512.69a61.19 61.19 0 0 1-17.78999999 43.25l-237.20000002 237.12a35 35 0 0 1-49.54999999-49.55l230.9-230.89-230.89-230.9a35 35 0 1 1 49.55-49.55L651.54 469.3a61.41 61.41 0 0 1 17.86 43.39z"
              fill="''' + getColor(0, color, colors, '#42494F') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.shaixuan:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M786.57536 340.95104c0.88064-0.88064 1.65888-1.82272 2.3552-2.78528 12.92288-14.5408 20.00896-33.0752 20.00896-52.5312 0-43.95008-36.18816-79.72864-80.6912-79.72864l-453.0176 0c-44.48256 0-80.6912 35.75808-80.6912 79.72864 0 18.98496 6.73792 37.04832 19.06688 51.42528 0.90112 1.4336 1.96608 2.80576 3.21536 4.05504l178.9952 176.8448 0 185.5488c0 6.77888 3.05152 12.84096 7.8848 16.95744 0.28672 0.26624 0.53248 0.53248 0.8192 0.77824l160.84992 134.8608c4.15744 3.4816 9.23648 5.20192 14.31552 5.20192 6.26688 0 12.51328-2.62144 16.896-7.72096 4.21888-4.89472 5.8368-11.10016 5.03808-17.01888L601.62048 523.6736 786.57536 340.95104 786.57536 340.95104zM251.71968 312.25856c-0.6144-0.83968-1.26976-1.67936-2.02752-2.4576-6.32832-6.53312-9.80992-15.09376-9.80992-24.14592 0-19.2512 15.85152-34.93888 35.34848-34.93888l453.0176 0c19.49696 0 35.36896 15.6672 35.36896 34.93888 0 8.99072-3.44064 17.53088-9.70752 24.04352-0.45056 0.47104-0.86016 0.94208-1.24928 1.4336l-189.72672 187.43296c-4.25984 4.1984-6.63552 9.89184-6.63552 15.83104l0 276.70528-115.13856-96.54272 0-185.87648c0-5.9392-2.39616-11.63264-6.63552-15.83104L251.71968 312.25856 251.71968 312.25856z"
              fill="''' + getColor(0, color, colors, '#333333') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.shouye_dingbu:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M847 162.13H177c-17.12 0-31-13.88-31-31s13.88-31 31-31h670c17.12 0 31 13.88 31 31s-13.88 31-31 31zM503.7 923.88c-17.12 0-31-13.88-31-31V258.81c0-17.12 13.88-31 31-31s31 13.88 31 31v634.07c0.01 17.12-13.88 31-31 31z"
              fill="''' + getColor(0, color, colors, '#333333') + '''"
            />
            <path
              d="M191.76 601.76c-7.93 0-15.87-3.03-21.92-9.08-12.11-12.11-12.11-31.74 0-43.85l311.95-311.95c12.11-12.11 31.74-12.11 43.85 0 12.11 12.11 12.11 31.74 0 43.85L213.68 592.68c-6.05 6.05-13.99 9.08-21.92 9.08z"
              fill="''' + getColor(1, color, colors, '#333333') + '''"
            />
            <path
              d="M815.65 601.76c-7.93 0-15.87-3.03-21.92-9.08L481.78 280.73c-12.11-12.11-12.11-31.74 0-43.85 12.11-12.11 31.74-12.11 43.85 0l311.95 311.95c12.11 12.11 12.11 31.74 0 43.85a30.94 30.94 0 0 1-21.93 9.08z"
              fill="''' + getColor(2, color, colors, '#333333') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.denglu_yonghuming:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M512 133.87c58.24 0 113 22.68 154.18 63.86 41.18 41.18 63.86 95.94 63.86 154.18s-22.68 113-63.86 154.18C625 547.28 570.24 569.96 512 569.96s-113-22.68-154.18-63.86-63.86-95.94-63.86-154.18 22.68-113 63.86-154.18 95.94-63.87 154.18-63.87m0-70c-159.08 0-288.05 128.96-288.05 288.05S352.92 639.96 512 639.96 800.05 511 800.05 351.92 671.08 63.87 512 63.87z"
              fill="''' + getColor(0, color, colors, '#444444') + '''"
            />
            <path
              d="M850.29 938.36c-19.93 0-37.59-14.3-41.15-34.61-25.35-144.74-150.6-249.8-297.81-249.8s-272.46 105.06-297.81 249.8c-3.98 22.75-25.66 37.96-48.41 33.98-22.75-3.98-37.96-25.66-33.98-48.41 15.48-88.36 61.86-169.15 130.61-227.48 34.13-28.95 72.6-51.55 114.35-67.17 43.22-16.17 88.72-24.37 135.23-24.37 46.52 0 92.02 8.2 135.23 24.37 41.75 15.62 80.22 38.22 114.34 67.17 68.75 58.33 115.14 139.11 130.62 227.48 3.98 22.75-11.23 44.42-33.98 48.41-2.42 0.42-4.85 0.63-7.24 0.63z"
              fill="''' + getColor(1, color, colors, '#444444') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.denglu_mima:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M712.14 460.5h-61.09V297.58c0-76.67-62.38-139.05-139.05-139.05s-139.05 62.38-139.05 139.05V460.5h-61.09V297.58c0-110.36 89.78-200.14 200.14-200.14 110.36 0 200.14 89.78 200.14 200.14V460.5z"
              fill="''' + getColor(0, color, colors, '#444444') + '''"
            />
            <path
              d="M772.21 970.41H251.79c-60.48 0-109.69-49.21-109.69-109.69V540.78c0-60.48 49.21-109.69 109.69-109.69h520.43c60.48 0 109.69 49.21 109.69 109.69v319.94c-0.01 60.48-49.22 109.69-109.7 109.69z m-520.42-480.5c-28.05 0-50.87 22.82-50.87 50.87v319.94c0 28.05 22.82 50.87 50.87 50.87h520.43c28.05 0 50.87-22.82 50.87-50.87V540.78c0-28.05-22.82-50.87-50.87-50.87H251.79z"
              fill="''' + getColor(1, color, colors, '#444444') + '''"
            />
            <path
              d="M512 799.67c-19.33 0-35-15.67-35-35V636.83c0-19.33 15.67-35 35-35s35 15.67 35 35v127.84c0 19.33-15.67 35-35 35z"
              fill="''' + getColor(2, color, colors, '#444444') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.tongyong_weixuan:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M512.22 134.22c51.06 0 100.56 9.98 147.11 29.68 45 19.04 85.44 46.3 120.17 81.04s62 75.17 81.04 120.17c19.69 46.56 29.68 96.05 29.68 147.11s-9.98 100.56-29.68 147.11c-19.03 45-46.3 85.44-81.04 120.17s-75.17 62-120.17 81.04c-46.56 19.69-96.05 29.68-147.11 29.68s-100.56-9.98-147.11-29.68c-45-19.03-85.44-46.3-120.17-81.04s-62-75.17-81.04-120.17c-19.69-46.56-29.68-96.05-29.68-147.11s9.98-100.56 29.68-147.11c19.04-45 46.3-85.44 81.04-120.17s75.17-62 120.17-81.04c46.56-19.69 96.05-29.68 147.11-29.68m0-70c-247.42 0-448 200.58-448 448s200.58 448 448 448 448-200.58 448-448-200.57-448-448-448z"
              fill="''' + getColor(0, color, colors, '#444444') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.tongyong_yixuan:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M512.22 512.22m-448 0a448 448 0 1 0 896 0 448 448 0 1 0-896 0Z"
              fill="''' + getColor(0, color, colors, '#2894FF') + '''"
            />
            <path
              d="M462.61 697.22c-8.58 0-17.17-3.14-23.91-9.45L299.41 557.4c-14.11-13.21-14.84-35.36-1.63-49.47s35.36-14.84 49.47-1.63l114.4 107.08 244.56-247.74c13.58-13.76 35.74-13.9 49.5-0.32 13.76 13.58 13.9 35.74 0.32 49.5l-268.5 272c-6.84 6.92-15.88 10.4-24.92 10.4z"
              fill="''' + getColor(1, color, colors, '#FFFFFF') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.sh_fukuanshenhe:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M841.386667 305.493333V256c0-75.093333-61.44-136.533333-136.533334-136.533333H264.533333c-75.093333 0-136.533333 61.44-136.533333 136.533333v494.933333c0 75.093333 61.44 136.533333 136.533333 136.533334h512c75.093333 0 136.533333-61.44 136.533334-136.533334V424.96c0-51.2-29.013333-97.28-71.68-119.466667z m3.413333 428.373334c0 47.786667-37.546667 85.333333-85.333333 85.333333h-494.933334v-1.706667c-39.253333-8.533333-68.266667-42.666667-68.266666-83.626666V273.066667c0-47.786667 37.546667-85.333333 85.333333-85.333334h409.6c47.786667 0 85.333333 37.546667 85.333333 85.333334v15.36h-324.266666V358.4h307.2c47.786667 0 85.333333 37.546667 85.333333 85.333333v290.133334z"
              fill="''' + getColor(0, color, colors, '#333333') + '''"
            />
            <path
              d="M665.6 424.96l-109.226667 146.773333h93.866667V597.333333h-116.053333v40.96h117.76V665.6h-117.76v85.333333h-42.666667v-85.333333H375.466667v-27.306667h116.053333V597.333333H375.466667v-25.6h93.866666l-109.226666-146.773333h47.786666l105.813334 145.066667 104.106666-145.066667H665.6z"
              fill="''' + getColor(1, color, colors, '#333333') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.denglu_zhengyan:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M512 216.95c53.98 0 106.24 8.34 155.31 24.79 46.74 15.67 88.53 37.95 124.2 66.22C861.47 363.41 900 435.87 900 512s-38.53 148.59-108.48 204.04c-35.68 28.28-77.47 50.56-124.2 66.22-49.07 16.45-101.33 24.79-155.31 24.79s-106.24-8.34-155.31-24.79c-46.74-15.67-88.53-37.95-124.2-66.22C162.53 660.59 124 588.13 124 512s38.53-148.59 108.48-204.04c35.68-28.28 77.47-50.56 124.2-66.22 49.08-16.45 101.34-24.79 155.32-24.79m0-60C264.58 156.95 64 315.91 64 512s200.58 355.05 448 355.05S960 708.09 960 512 759.42 156.95 512 156.95z"
              fill="''' + getColor(0, color, colors, '#333333') + '''"
            />
            <path
              d="M512 392c32.05 0 62.19 12.48 84.85 35.15C619.52 449.81 632 479.95 632 512s-12.48 62.19-35.15 84.85C574.19 619.52 544.05 632 512 632s-62.19-12.48-84.85-35.15C404.48 574.19 392 544.05 392 512s12.48-62.19 35.15-84.85C449.81 404.48 479.95 392 512 392m0-60c-99.41 0-180 80.59-180 180s80.59 180 180 180 180-80.59 180-180-80.59-180-180-180z"
              fill="''' + getColor(1, color, colors, '#333333') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.denglu_biyan:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M954.51 355c9.25-14.44 6.58-33.48-6.29-44.81a31.542 31.542 0 0 0-23.75-6.29 31.58 31.58 0 0 0-21.07 12.64c-1.62 1.56-179.26 211.38-391.24 211.38-205.08 0-391.24-211.38-392.79-212.99-11.75-12.74-31.39-14.14-44.82-3.18-12.74 11.75-14.13 31.39-3.17 44.82 3.17 4.79 41.64 47.99 102.81 95.98l-81.72 84.9a31.142 31.142 0 0 0-8.71 22.75c0.3 8.45 4.03 16.42 10.33 22.06 3.12 6.29 11.03 9.47 18.93 9.47 8.5-0.15 16.62-3.53 22.71-9.47L223.8 491c41.64 29 91.19 55.9 146.01 75.43l-33.73 113.83c-4.79 17.43 4.73 35.35 22.65 40.14h9.53c14.64 0.15 27.38-9.97 30.56-24.27l33.73-113.9c25.82 4.73 52.72 7.91 80.16 7.91 27.38 0 54.28-3.18 80.11-7.91l33.79 112.28c3.11 14.26 17.37 24.27 30.55 24.27 3.18 0 6.35 0 7.91-1.56a32.464 32.464 0 0 0 19.68-15.36 32.487 32.487 0 0 0 2.97-24.78L653.99 564.8a614.412 614.412 0 0 0 146.07-75.37l86.45 89.63c5.96 6.09 14.13 9.5 22.65 9.47a32.727 32.727 0 0 0 29.54-19.36 32.703 32.703 0 0 0-5.27-34.92l-81.72-84.9A651.258 651.258 0 0 0 954.51 355z"
              fill="''' + getColor(0, color, colors, '#333333') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.xiasanjiaoxing:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M325.456896 862.27968"
              fill="''' + getColor(0, color, colors, '#333333') + '''"
            />
            <path
              d="M882.05824 862.27968"
              fill="''' + getColor(1, color, colors, '#333333') + '''"
            />
            <path
              d="M236.027904 877.161472"
              fill="''' + getColor(2, color, colors, '#333333') + '''"
            />
            <path
              d="M960.132096 877.161472"
              fill="''' + getColor(3, color, colors, '#333333') + '''"
            />
            <path
              d="M63.683584 788.737024"
              fill="''' + getColor(4, color, colors, '#333333') + '''"
            />
            <path
              d="M958.46912 788.737024"
              fill="''' + getColor(5, color, colors, '#333333') + '''"
            />
            <path
              d="M64.77824 858.791936"
              fill="''' + getColor(6, color, colors, '#333333') + '''"
            />
            <path
              d="M163.396608 289.168384c-40.577024 0-66.526208 54.183936-35.44064 85.25824L477.217792 723.704832c20.031488 20.031488 49.82272 20.031488 69.853184 0l349.274112-349.278208c30.30528-30.294016 6.677504-85.25824-34.927616-85.25824L163.396608 289.168384z"
              fill="''' + getColor(7, color, colors, '#333333') + '''"
            />
            <path
              d="M959.522816 858.791936"
              fill="''' + getColor(8, color, colors, '#333333') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.shangsanjiaoxing:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M325.456896 862.27968"
              fill="''' + getColor(0, color, colors, '#333333') + '''"
            />
            <path
              d="M882.05824 862.27968"
              fill="''' + getColor(1, color, colors, '#333333') + '''"
            />
            <path
              d="M236.027904 877.161472"
              fill="''' + getColor(2, color, colors, '#333333') + '''"
            />
            <path
              d="M960.132096 877.161472"
              fill="''' + getColor(3, color, colors, '#333333') + '''"
            />
            <path
              d="M64.134144 845.290496"
              fill="''' + getColor(4, color, colors, '#333333') + '''"
            />
            <path
              d="M131.974144 648.752128c-30.418944 30.430208-6.474752 84.301824 34.917376 84.301824L858.258432 733.053952c42.899456 0 65.325056-53.85216 34.916352-84.301824L547.487744 302.569472c-19.930112-19.974144-49.374208-19.95264-69.327872 0L131.974144 648.752128z"
              fill="''' + getColor(5, color, colors, '#333333') + '''"
            />
            <path
              d="M960.51712 845.290496"
              fill="''' + getColor(6, color, colors, '#333333') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.yaodianxinxi:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M509.76 148c23.98 0 46.92 8.93 64.6 25.15l237.19 217.57c18.93 17.36 29.79 41.88 29.79 67.27V783.7c0 50.89-42.35 92.29-94.42 92.29H261.99c-43.74 0-79.32-34.75-79.32-77.46V442.1c0-26.38 11.58-51.54 31.78-69.05L447.09 171.4a95.715 95.715 0 0 1 62.67-23.4m-0.01-52c-34.43 0-68.91 12-96.71 36.1L180.39 333.76c-31.6 27.38-49.72 66.87-49.72 108.34v356.44c0 71.38 58.91 129.46 131.32 129.46h484.93c80.73 0 146.42-64.73 146.42-144.29V458c0-39.93-17.01-78.43-46.65-105.61L609.51 134.83C581.32 108.98 545.56 96 509.75 96z"
              fill="''' + getColor(0, color, colors, '#191C23') + '''"
            />
            <path
              d="M659.33 627.57H364.67c-14.3 0-26-11.7-26-26s11.7-26 26-26h294.67c14.3 0 26 11.7 26 26-0.01 14.3-11.71 26-26.01 26z"
              fill="''' + getColor(1, color, colors, '#2894FF') + '''"
            />
            <path
              d="M486 748.91V454.24c0-14.3 11.7-26 26-26s26 11.7 26 26v294.67c0 14.3-11.7 26-26 26s-26-11.7-26-26z"
              fill="''' + getColor(2, color, colors, '#2894FF') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.shouhuoguanli:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M512 148c46.3 0 89.83 18.03 122.57 50.77 32.74 32.74 50.77 76.27 50.77 122.57s-18.03 89.83-50.77 122.57c-32.74 32.74-76.27 50.77-122.57 50.77s-89.83-18.03-122.57-50.77-50.77-76.27-50.77-122.57 18.03-89.83 50.77-122.57S465.7 148 512 148m0-52c-124.45 0-225.33 100.89-225.33 225.33S387.55 546.67 512 546.67c124.45 0 225.33-100.89 225.33-225.33S636.45 96 512 96z"
              fill="''' + getColor(0, color, colors, '#191C23') + '''"
            />
            <path
              d="M670.89 581.33H353.11c-122.34 0-222.44 109.2-222.44 242.67 0 57.2 42.9 104 95.33 104h90.7v-52H226c-26.28 0-47.67-23.33-47.67-52 0-105.13 78.4-190.67 174.78-190.67h317.78c96.37 0 174.78 85.53 174.78 190.67 0 28.67-21.38 52-47.67 52h-90.7v52H798c52.43 0 95.33-46.8 95.33-104 0-133.47-100.1-242.67-222.44-242.67z"
              fill="''' + getColor(1, color, colors, '#191C23') + '''"
            />
            <path
              d="M312.67 902m-26 0a26 26 0 1 0 52 0 26 26 0 1 0-52 0Z"
              fill="''' + getColor(2, color, colors, '#191C23') + '''"
            />
            <path
              d="M711.33 902m-26 0a26 26 0 1 0 52 0 26 26 0 1 0-52 0Z"
              fill="''' + getColor(3, color, colors, '#191C23') + '''"
            />
            <path
              d="M633.33 720v69.33H390.67V720h242.66m17.34-52H373.33c-19.07 0-34.67 15.6-34.67 34.67v104c0 19.07 15.6 34.67 34.67 34.67h277.33c19.07 0 34.67-15.6 34.67-34.67v-104c0-19.07-15.6-34.67-34.66-34.67z"
              fill="''' + getColor(4, color, colors, '#2894FF') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.kongxiaoxieyi:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M593.39 501.15h-271.3c-14.92 0-27.13-12.21-27.13-27.13 0-14.92 12.21-27.13 27.13-27.13h271.3c14.92 0 27.13 12.21 27.13 27.13 0 14.92-12.21 27.13-27.13 27.13zM701.91 627.76H322.09c-14.92 0-27.13-12.21-27.13-27.13 0-14.92 12.21-27.13 27.13-27.13h379.83c14.92 0 27.13 12.21 27.13 27.13-0.01 14.92-12.22 27.13-27.14 27.13zM521.04 754.37H322.09c-14.92 0-27.13-12.21-27.13-27.13 0-14.92 12.21-27.13 27.13-27.13h198.96c14.92 0 27.13 12.21 27.13 27.13-0.01 14.92-12.21 27.13-27.14 27.13z"
              fill="''' + getColor(0, color, colors, '#2894FF') + '''"
            />
            <path
              d="M783.3 150.26c14.37 0 27.97 5.68 38.28 15.99 10.31 10.31 15.99 23.9 15.99 38.28v614.96c0 14.37-5.68 27.97-15.99 38.28-10.31 10.31-23.9 15.99-38.28 15.99H240.7c-14.37 0-27.97-5.68-38.28-15.99-10.31-10.31-15.99-23.9-15.99-38.28V204.52c0-14.37 5.68-27.97 15.99-38.28 10.31-10.31 23.9-15.99 38.28-15.99h542.6m0-54.25H240.7c-59.69 0-108.52 48.83-108.52 108.52v614.96c0 59.69 48.83 108.52 108.52 108.52h542.6c59.69 0 108.52-48.83 108.52-108.52V204.52C891.83 144.83 842.99 96 783.3 96z"
              fill="''' + getColor(1, color, colors, '#191C23') + '''"
            />
            <path
              d="M730.4 343.71c-6.94 0-13.87-1.96-20.13-5.85l-57.16-35.57-56.81 33.93c-11.85 7.08-26.08 7.25-38.07 0.46-14.16-8.02-22.98-24.44-23.03-42.86l-0.07-149.53 54.26-0.03 0.06 132.83 44.4-26.52c12.23-7.31 27.38-7.15 39.52 0.41l44.01 27.39-0.44-139.11 54.26-0.17 0.49 157.01c0.04 18.48-8.76 34.86-22.98 42.78-5.76 3.22-12.04 4.83-18.31 4.83z m-140.9-49.59z"
              fill="''' + getColor(2, color, colors, '#191C23') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.tuihuanguize:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M665.74 584.87H435.27l66.8 53.74c11.63 9.35 13.49 26.52 4.13 38.15-9.35 11.63-26.52 13.49-38.15 4.13L341.22 578.84c-0.44-0.36-0.78-0.8-1.19-1.18-0.55-0.51-1.09-1.02-1.6-1.57-0.72-0.78-1.38-1.58-2-2.42-0.42-0.58-0.81-1.16-1.19-1.77a27 27 0 0 1-1.44-2.64c-0.34-0.72-0.64-1.46-0.92-2.21a26.504 26.504 0 0 1-1.34-5.14c-0.15-0.93-0.23-1.85-0.28-2.79-0.02-0.47-0.14-0.91-0.14-1.38 0-0.37 0.09-0.71 0.11-1.07 0.04-1.03 0.16-2.05 0.31-3.07 0.11-0.71 0.21-1.41 0.38-2.09 0.26-1.11 0.62-2.19 1.02-3.26 0.2-0.54 0.39-1.07 0.63-1.59 0.51-1.13 1.12-2.22 1.79-3.29 0.26-0.41 0.51-0.82 0.79-1.21 0.33-0.47 0.57-0.99 0.94-1.44 0.47-0.59 1.05-1.04 1.56-1.58 0.3-0.32 0.61-0.63 0.92-0.94 0.96-0.92 1.96-1.74 3.02-2.49 0.39-0.28 0.78-0.53 1.18-0.79 1.03-0.65 2.07-1.23 3.17-1.72 0.58-0.27 1.16-0.51 1.77-0.74 0.98-0.37 1.97-0.68 2.98-0.93 0.75-0.19 1.51-0.34 2.28-0.47 0.97-0.15 1.94-0.25 2.92-0.3 0.46-0.02 0.9-0.14 1.37-0.14h307.48c14.92 0 27.13 12.21 27.13 27.13 0 14.91-12.21 27.12-27.13 27.12zM692.76 431.16c-0.04 1.03-0.16 2.05-0.31 3.07-0.11 0.71-0.21 1.4-0.38 2.09-0.26 1.11-0.62 2.19-1.02 3.27-0.2 0.53-0.39 1.07-0.62 1.59-0.51 1.13-1.12 2.22-1.79 3.29-0.26 0.41-0.51 0.82-0.79 1.21-0.33 0.47-0.57 0.99-0.94 1.44-0.47 0.59-1.05 1.04-1.56 1.58-0.3 0.32-0.61 0.63-0.92 0.94-0.96 0.91-1.96 1.74-3.02 2.49-0.39 0.28-0.78 0.54-1.18 0.79-1.02 0.65-2.07 1.22-3.16 1.72-0.58 0.27-1.17 0.51-1.77 0.74-0.98 0.37-1.96 0.68-2.98 0.93-0.75 0.19-1.51 0.34-2.29 0.47-0.97 0.15-1.94 0.25-2.92 0.3-0.46 0.02-0.9 0.14-1.37 0.14H358.26c-14.92 0-27.13-12.21-27.13-27.13 0-14.92 12.21-27.13 27.13-27.13h230.47l-66.8-53.74c-11.63-9.35-13.49-26.52-4.13-38.15 9.35-11.63 26.52-13.49 38.15-4.13l126.83 102.04c0.44 0.36 0.77 0.79 1.19 1.17a26.25 26.25 0 0 1 4.79 5.78c0.52 0.85 1 1.72 1.42 2.61 0.35 0.73 0.65 1.48 0.93 2.24 0.31 0.86 0.58 1.71 0.81 2.59 0.22 0.83 0.39 1.68 0.52 2.54 0.15 0.93 0.23 1.85 0.28 2.79 0.02 0.47 0.14 0.91 0.14 1.38 0.01 0.38-0.09 0.72-0.1 1.08z"
              fill="''' + getColor(0, color, colors, '#2894FF') + '''"
            />
            <path
              d="M837.53 729.04v6.1l-138.6 138.6h-6.1V747.13c0-9.8 8.28-18.09 18.09-18.09h126.61m38.71-54.26H710.92c-39.79 0-72.35 32.56-72.35 72.35v165.33c0 8.58 6.96 15.54 15.54 15.54h67.29l170.38-170.38v-67.29c0.01-8.59-6.95-15.55-15.54-15.55z"
              fill="''' + getColor(1, color, colors, '#191C23') + '''"
            />
            <path
              d="M668.06 872.47H246.12c-31.29 0-56.97-24.96-56.97-55.53V206.87c0-30.57 25.68-55.53 56.97-55.53h531.76c31.47 0 56.97 24.96 56.97 55.53v491.09h56.97V206.87C891.83 145.92 840.64 96 777.88 96H246.12c-62.58 0-113.95 49.92-113.95 110.87v610.07c0 61.13 51.37 111.05 113.95 111.05h421.94v-55.52z"
              fill="''' + getColor(2, color, colors, '#191C23') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.changjianwenti:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M819.48 186.43c14.37 0 27.97 5.68 38.28 15.99 10.31 10.31 15.99 23.9 15.99 38.28v542.6c0 14.37-5.68 27.97-15.99 38.28-10.31 10.31-23.9 15.99-38.28 15.99H204.52c-14.37 0-27.97-5.68-38.28-15.99-10.31-10.31-15.99-23.9-15.99-38.28V240.7c0-14.37 5.68-27.97 15.99-38.28 10.31-10.31 23.9-15.99 38.28-15.99h614.96m0-54.26H204.52C144.83 132.17 96 181.01 96 240.7v542.6c0 59.69 48.83 108.52 108.52 108.52h614.96c59.69 0 108.52-48.83 108.52-108.52V240.7c0-59.69-48.83-108.53-108.52-108.53z"
              fill="''' + getColor(0, color, colors, '#191C23') + '''"
            />
            <path
              d="M544.11 591.75h-51.66c-2.19 0 1.65-44.45 2.8-48.8 4.2-15.91 14.84-27.2 26.9-37.77 21.47-18.82 47.14-36.5 47.14-68.16 0-16.25-4.89-29.14-14.71-38.68-9.79-9.54-22.56-14.31-38.28-14.31-36.39 0-57.85 25.19-64.38 75.53l-57.76-10.35c3.53-37.62 17.43-67.15 41.72-88.63 24.29-21.44 53.4-32.18 87.31-32.18 33.74 0 51.47 9.07 73.55 29.1 22.08 20.07 33.12 45.01 33.12 74.86 0 14.84-3.04 28.93-9.15 42.25-12.15 26.71-34.48 47.82-56.03 67.06-6.22 5.55-14.16 10.36-17.38 18.43-1.95 4.87-3.01 15.4-3.19 31.65zM554.71 660.5v3.97c0 17.19-13.94 31.13-31.13 31.13-17.19 0-31.13-13.94-31.13-31.13v-3.97c0-17.19 13.94-31.13 31.13-31.13 17.19 0 31.13 13.94 31.13 31.13z"
              fill="''' + getColor(1, color, colors, '#2894FF') + '''"
            />
            <path
              d="M452.48 449.65v3.72c0 16.11-13.06 29.16-29.16 29.16-16.11 0-29.16-13.06-29.16-29.16v-3.72c0-16.11 13.06-29.16 29.16-29.16 16.1-0.01 29.16 13.05 29.16 29.16z"
              fill="''' + getColor(2, color, colors, '#2894FF') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.zaixiankefu:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M544.13 907.29c-14.55 0-26.35-11.8-26.35-26.35s11.8-26.35 26.35-26.35c69.53 0 126.09-55.31 126.09-123.29 0-14.55 11.8-26.35 26.35-26.35s26.35 11.8 26.35 26.35c0 97.04-80.2 175.99-178.79 175.99z"
              fill="''' + getColor(0, color, colors, '#2894FF') + '''"
            />
            <path
              d="M775.42 406.87c-14.55 0-26.35-11.8-26.35-26.35 0-116.4-106.35-211.1-237.07-211.1s-237.07 94.7-237.07 211.1c0 14.55-11.8 26.35-26.35 26.35s-26.35-11.8-26.35-26.35v-16.69c0-2.8 0.44-5.5 1.25-8.03 2.76-27.23 10.11-53.68 21.95-78.91 14.77-31.47 35.85-59.69 62.67-83.86 54.6-49.22 127.02-76.33 203.91-76.33s149.31 27.11 203.91 76.33c26.81 24.17 47.9 52.39 62.67 83.86 11.84 25.23 19.19 51.68 21.95 78.91 0.81 2.53 1.24 5.23 1.24 8.03v16.69c-0.01 14.55-11.81 26.35-26.36 26.35z"
              fill="''' + getColor(1, color, colors, '#333333') + '''"
            />
            <path
              d="M258 806.87c-10.27 0-20.63-1.68-30.75-5.08-49.05-16.49-90.23-45.52-119.07-83.96C79.28 679.32 64 633.14 64 584.3s15.28-95.02 44.18-133.53c28.85-38.44 70.02-67.47 119.07-83.96 29.59-9.95 61.18-5.15 86.65 13.17 24.97 17.95 39.88 46.81 39.88 77.2h-26.35 26.35v254.26c0 30.39-14.91 59.25-39.88 77.2-16.75 12.03-36.16 18.23-55.9 18.23z m-0.16-392.39c-4.61 0-9.25 0.75-13.79 2.28-78.55 26.41-127.34 90.6-127.34 167.54s48.79 141.13 127.34 167.54c13.31 4.48 27.56 2.29 39.1-6 11.4-8.19 17.93-20.73 17.93-34.4V457.18c0-13.67-6.54-26.21-17.93-34.4-7.61-5.48-16.4-8.3-25.31-8.3zM766 806.87c-19.74 0-39.14-6.2-55.9-18.25-24.97-17.95-39.88-46.81-39.88-77.2V457.17c0-30.39 14.91-59.25 39.88-77.2 25.48-18.31 57.06-23.11 86.65-13.17 49.05 16.49 90.23 45.52 119.07 83.96C944.72 489.27 960 535.45 960 584.3s-15.28 95.02-44.18 133.54c-28.85 38.44-70.02 67.47-119.07 83.96-10.13 3.39-20.49 5.07-30.75 5.07z m0.16-392.39c-8.92 0-17.7 2.81-25.31 8.28-11.4 8.19-17.93 20.73-17.93 34.4v254.26c0 13.67 6.54 26.21 17.93 34.4 11.53 8.29 25.78 10.48 39.1 6 78.55-26.4 127.34-90.6 127.34-167.54S858.5 443.16 779.95 416.76a43.053 43.053 0 0 0-13.79-2.28z"
              fill="''' + getColor(2, color, colors, '#191C23') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.wodefapiao:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M783.3 150.26c14.18 0 27.65 5.76 37.92 16.23 10.54 10.74 16.34 24.97 16.34 40.08V847.3l-32.16-32.77c-17.12-17.44-39.96-27.05-64.3-27.05-24.35 0-47.18 9.61-64.3 27.05l-50.25 51.19-50.25-51.19c-17.12-17.44-39.96-27.05-64.3-27.05-24.35 0-47.18 9.61-64.3 27.05l-50.25 51.19-50.25-51.19c-17.12-17.44-39.96-27.05-64.3-27.05-24.35 0-47.18 9.61-64.3 27.05l-32.16 32.77V206.56c0-15.11 5.8-29.34 16.34-40.08 10.27-10.46 23.74-16.23 37.92-16.23h542.6m0-54.25H240.7c-59.69 0-108.52 49.75-108.52 110.56v684.51c0 22.21 17.84 36.93 36.44 36.93 8.89 0 17.95-3.36 25.32-10.87l63.39-64.59c7.06-7.2 16.32-10.79 25.58-10.79 9.26 0 18.52 3.6 25.58 10.79l63.39 64.59c7.06 7.2 16.32 10.79 25.58 10.79 9.26 0 18.52-3.6 25.58-10.79l63.39-64.59c7.06-7.2 16.32-10.79 25.58-10.79s18.52 3.6 25.58 10.79l63.39 64.59c7.06 7.2 16.32 10.79 25.58 10.79 9.26 0 18.52-3.6 25.58-10.79l63.39-64.59c7.06-7.2 16.32-10.79 25.58-10.79 9.26 0 18.52 3.6 25.58 10.79l63.39 64.59c7.37 7.51 16.43 10.87 25.32 10.87 18.6 0 36.43-14.71 36.43-36.93V206.56C891.83 145.75 842.99 96 783.3 96z"
              fill="''' + getColor(0, color, colors, '#191C23') + '''"
            />
            <path
              d="M593.39 412.52h-271.3c-14.92 0-27.13-12.21-27.13-27.13 0-14.92 12.21-27.13 27.13-27.13h271.3c14.92 0 27.13 12.21 27.13 27.13 0 14.92-12.21 27.13-27.13 27.13zM701.91 539.13H322.09c-14.92 0-27.13-12.21-27.13-27.13 0-14.92 12.21-27.13 27.13-27.13h379.83c14.92 0 27.13 12.21 27.13 27.13-0.01 14.92-12.22 27.13-27.14 27.13zM521.04 665.74H322.09c-14.92 0-27.13-12.21-27.13-27.13 0-14.92 12.21-27.13 27.13-27.13h198.96c14.92 0 27.13 12.21 27.13 27.13-0.01 14.92-12.21 27.13-27.14 27.13z"
              fill="''' + getColor(1, color, colors, '#2894FF') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.pingtaizhengshu:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M512 120.59c38.74 0 76.3 7.7 111.63 22.88 34.22 14.7 64.97 35.77 91.41 62.62 26.5 26.92 47.31 58.26 61.84 93.17 15.06 36.17 22.7 74.63 22.7 114.31s-7.64 78.15-22.7 114.31c-14.54 34.91-35.34 66.25-61.84 93.17-26.44 26.85-57.19 47.92-91.41 62.62-35.33 15.18-72.89 22.88-111.63 22.88s-76.3-7.7-111.63-22.88c-34.22-14.7-64.97-35.77-91.41-62.62-26.5-26.92-47.31-58.26-61.84-93.17-15.06-36.17-22.7-74.63-22.7-114.31s7.64-78.15 22.7-114.31c14.54-34.91 35.34-66.25 61.84-93.17 26.44-26.85 57.19-47.92 91.41-62.62 35.33-15.18 72.89-22.88 111.63-22.88M512 64c-190.08 0-344.17 156.51-344.17 349.57S321.92 763.14 512 763.14s344.17-156.51 344.17-349.57S702.08 64 512 64z"
              fill="''' + getColor(0, color, colors, '#191C23') + '''"
            />
            <path
              d="M512 295.37c30.68 0 59.58 12.18 81.36 34.31 22.01 22.36 34.14 52.15 34.14 83.89s-12.12 61.53-34.14 83.89c-21.78 22.12-50.67 34.31-81.36 34.31s-59.58-12.18-81.36-34.31c-22.01-22.36-34.14-52.15-34.14-83.89s12.12-61.53 34.14-83.89c21.78-22.12 50.68-34.31 81.36-34.31m0-56.59c-95.04 0-172.08 78.25-172.08 174.78S416.96 588.35 512 588.35s172.08-78.25 172.08-174.78S607.04 238.78 512 238.78z"
              fill="''' + getColor(1, color, colors, '#2894FF') + '''"
            />
            <path
              d="M345.31 960c-0.94 0-1.89-0.03-2.84-0.08-16.25-0.94-30.7-10.02-38.64-24.28l-47.18-84.74-93.67-19.9c-15.69-3.33-28.53-14.32-34.36-29.39-6.1-15.78-3.74-33.53 6.3-47.5l113.09-157.17 45.93 33.05-106.7 148.31 85.33 18.12c13.36 2.84 24.84 11.34 31.51 23.32l42.57 76.46L479.3 711.88l45.93 33.05-139.71 194.16C376 952.32 361.13 960 345.31 960z"
              fill="''' + getColor(2, color, colors, '#191C23') + '''"
            />
            <path
              d="M678.69 960c-15.82 0-30.68-7.68-40.2-20.91L498.77 744.93l45.93-33.05 132.64 184.33 42.57-76.46c6.67-11.98 18.15-20.48 31.51-23.32l85.33-18.12-109.84-152.66 45.93-33.05 116.23 161.53c10.05 13.96 12.4 31.72 6.3 47.5-5.83 15.07-18.67 26.05-34.36 29.39l-93.68 19.9-47.18 84.74c-7.94 14.26-22.38 23.33-38.64 24.28-0.94 0.03-1.88 0.06-2.82 0.06z"
              fill="''' + getColor(3, color, colors, '#191C23') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.zhuanshushangwu:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M512 148c46.3 0 89.83 18.03 122.57 50.77 32.74 32.74 50.77 76.27 50.77 122.57s-18.03 89.83-50.77 122.57c-32.74 32.74-76.27 50.77-122.57 50.77s-89.83-18.03-122.57-50.77-50.77-76.27-50.77-122.57 18.03-89.83 50.77-122.57S465.7 148 512 148m0-52c-124.45 0-225.33 100.89-225.33 225.33S387.55 546.67 512 546.67s225.33-100.89 225.33-225.33S636.45 96 512 96z"
              fill="''' + getColor(0, color, colors, '#191C23') + '''"
            />
            <path
              d="M511.94 856.83c-9.22 0-17.91-3.61-24.47-10.17l-45.73-45.73c-8.24-8.02-11.89-19.96-9.64-31.43l17.57-99.9-10.41-23.87c-3.16-8.11-3.24-17-0.23-25.01l0.09-0.25 7.23-18.69c5.16-12.68 17.42-21.17 31.21-21.65l0.9-0.02H546l0.46 0.02c13.78 0.49 26.02 8.99 31.18 21.65l0.17 0.43 7.15 18.5c3.01 8.01 2.92 16.9-0.24 25.01l-0.41 0.99-10 22.88 17.57 99.89c2.26 11.47-1.4 23.41-9.64 31.43l-45.72 45.72c-6.55 6.59-15.28 10.2-24.58 10.2z m-27.2-86.44L512 797.65l27.25-27.25-18.86-107.24 13.39-30.62-0.16-0.4h-43.26l-0.16 0.4 13.39 30.62-18.85 107.23z"
              fill="''' + getColor(1, color, colors, '#2894FF') + '''"
            />
            <path
              d="M672.21 581.41v52c95.76 0.79 173.45 85.95 173.45 190.59 0 28.67-21.38 52-47.67 52H226c-26.28 0-47.67-23.33-47.67-52 0-105.13 78.4-190.67 174.78-190.67h7.28v-52h-7.28c-122.34 0-222.44 109.2-222.44 242.67 0 57.2 42.9 104 95.33 104h572c52.43 0 95.33-46.8 95.33-104 0-132.98-99.38-241.8-221.12-242.59z"
              fill="''' + getColor(2, color, colors, '#191C23') + '''"
            />
            <path
              d="M335.9 607.33a23.83 26 0 1 0 47.66 0 23.83 26 0 1 0-47.66 0Z"
              fill="''' + getColor(3, color, colors, '#191C23') + '''"
            />
            <path
              d="M649.04 607.33a23.83 26 0 1 0 47.66 0 23.83 26 0 1 0-47.66 0Z"
              fill="''' + getColor(4, color, colors, '#191C23') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.kuaisuxiadan:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M783.79 96h-80.58v55.47h80.58c32.11 0 58.24 24.88 58.24 55.47v610.13c0 30.58-26.13 55.47-58.24 55.47H240.21c-32.11 0-58.24-24.88-58.24-55.47V206.93c0-30.58 26.13-55.47 58.24-55.47h482.7V96h-482.7c-64.06 0-116.48 49.92-116.48 110.93v610.13c0 61.01 52.42 110.93 116.48 110.93h543.57c64.06 0 116.48-49.92 116.48-110.93V206.93C900.27 145.92 847.85 96 783.79 96z"
              fill="''' + getColor(0, color, colors, '#191C23') + '''"
            />
            <path
              d="M733.87 370.88H290.13c-15.32 0-27.73-12.42-27.73-27.73s12.42-27.73 27.73-27.73h443.73c15.32 0 27.73 12.42 27.73 27.73s-12.41 27.73-27.72 27.73zM512 539.73H290.13c-15.32 0-27.73-12.42-27.73-27.73 0-15.32 12.42-27.73 27.73-27.73H512c15.32 0 27.73 12.42 27.73 27.73 0 15.32-12.41 27.73-27.73 27.73zM438.04 708.59H290.13c-15.32 0-27.73-12.42-27.73-27.73s12.42-27.73 27.73-27.73h147.91c15.32 0 27.73 12.42 27.73 27.73s-12.41 27.73-27.73 27.73z"
              fill="''' + getColor(1, color, colors, '#191C23') + '''"
            />
            <path
              d="M579.02 680.79c-7.1 0-14.2-2.71-19.61-8.12-10.83-10.83-10.83-28.39 0-39.22l122.57-122.57c10.83-10.83 28.39-10.83 39.22 0 10.83 10.83 10.83 28.39 0 39.22L598.63 672.66c-5.41 5.42-12.51 8.13-19.61 8.13z"
              fill="''' + getColor(2, color, colors, '#2894FF') + '''"
            />
            <path
              d="M752.36 680.79H579.02c-15.32 0-27.73-12.42-27.73-27.73s12.42-27.73 27.73-27.73h173.33c15.32 0 27.73 12.42 27.73 27.73s-12.41 27.73-27.72 27.73z"
              fill="''' + getColor(3, color, colors, '#2894FF') + '''"
            />
            <path
              d="M629.79 803.35c-7.1 0-14.2-2.71-19.61-8.12-10.83-10.83-10.83-28.39 0-39.22l122.57-122.57c10.83-10.83 28.39-10.83 39.22 0 10.83 10.83 10.83 28.39 0 39.22L649.4 795.23c-5.41 5.41-12.51 8.12-19.61 8.12z"
              fill="''' + getColor(4, color, colors, '#2894FF') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.wodeshoucang:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M512 120c4.19 0 6.16 3.14 7.28 5.51l88.42 186.98c17.39 36.77 51.35 62.3 90.85 68.3l197.71 29.98c3.27 0.5 5.61 2.8 6.96 6.85 0.8 2.41 2.14 8.53-2.71 13.47L757.43 576.64c-27.7 28.18-40.37 68.55-33.89 107.99l33.77 205.51c0.69 4.22-0.15 7.77-2.51 10.55-1.71 2.01-4.01 3.31-5.86 3.31-0.33 0-1.32 0-3.12-0.99l-176.83-97.03c-17.46-9.58-37.17-14.65-56.99-14.65s-39.52 5.06-56.99 14.65l-176.83 97.03c-1.8 0.99-2.79 0.99-3.12 0.99-1.86 0-4.16-1.3-5.86-3.31-2.36-2.78-3.2-6.33-2.51-10.55l33.77-205.51c6.48-39.44-6.19-79.81-33.89-107.99L123.51 431.1c-4.86-4.94-3.52-11.07-2.71-13.47 1.35-4.05 3.69-6.36 6.96-6.85l197.71-29.98c39.5-5.99 73.46-31.52 90.85-68.29l88.42-186.98c1.1-2.39 3.07-5.53 7.26-5.53m0-56c-23.03 0-46.06 12.52-57.9 37.57l-88.42 186.98c-9.41 19.89-27.59 33.68-48.62 36.87l-197.7 29.98c-52.96 8.03-74.11 75.96-35.79 114.95L226.63 615.9c15.22 15.48 22.16 37.79 18.57 59.65l-33.77 205.51c-7.16 43.56 26 78.94 63.63 78.94 9.93 0 20.17-2.47 30.06-7.89l176.83-97.03c9.41-5.16 19.73-7.74 30.05-7.74s20.64 2.58 30.05 7.74l176.83 97.03c9.89 5.43 20.13 7.89 30.06 7.89 37.62 0 70.79-35.38 63.63-78.94L778.8 675.55c-3.59-21.86 3.35-44.17 18.57-59.65l143.06-145.55c38.32-38.99 17.18-106.92-35.79-114.95l-197.71-29.98c-21.03-3.19-39.21-16.98-48.62-36.87L569.9 101.57C558.06 76.52 535.03 64 512 64z"
              fill="''' + getColor(0, color, colors, '#191C23') + '''"
            />
            <path
              d="M511.9 698.94c-23.45 0-46.23-4.58-67.69-13.62-14.25-6-20.94-22.42-14.94-36.67 6-14.25 22.42-20.94 36.67-14.94 14.54 6.13 30.01 9.23 45.95 9.23 16.01 0 31.53-3.13 46.12-9.3 14.24-6.02 30.67 0.64 36.7 14.88 6.02 14.24-0.64 30.67-14.88 36.7-21.53 9.1-44.39 13.72-67.93 13.72z"
              fill="''' + getColor(1, color, colors, '#2894FF') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.xinyuandan:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M458.55 860.74c-7.66 0-15.3-3.02-20.99-9.02l-309.9-326.88C86.6 481.35 64 423.69 64 362.44c0-61.24 22.6-118.9 63.62-162.36 41.47-43.92 96.74-68.11 155.62-68.11 58.88 0 114.15 24.19 155.62 68.11l73.16 77.48 73.19-77.52c41.46-43.91 96.72-68.09 155.58-68.09 58.87 0 114.12 24.18 155.57 68.09C937.4 243.51 960 301.18 960 362.44c0 61.26-22.6 118.93-63.64 162.4L805.57 621c-10.96 11.61-29.26 12.14-40.88 1.17-11.61-10.96-12.14-29.27-1.17-40.88l90.79-96.16c63.88-67.66 63.88-177.74 0-245.39-30.42-32.22-70.74-49.96-113.53-49.96-42.79 0-83.11 17.74-113.53 49.96l-78.2 82.82c-9.66 10.23-23.16 16.09-37.04 16.09-13.89 0-27.39-5.87-37.04-16.09l-78.16-82.78c-30.43-32.23-70.76-49.98-113.57-49.98s-83.13 17.75-113.57 49.98c-63.86 67.63-63.86 177.68 0 245.31l309.85 326.83c10.99 11.59 10.5 29.89-1.09 40.88a28.766 28.766 0 0 1-19.88 7.94z"
              fill="''' + getColor(0, color, colors, '#191C23') + '''"
            />
            <path
              d="M761.2 790.11H557.32c-15.97 0-28.92-12.95-28.92-28.92 0-15.97 12.95-28.92 28.92-28.92H761.2c15.97 0 28.92 12.95 28.92 28.92 0 15.97-12.95 28.92-28.92 28.92z"
              fill="''' + getColor(1, color, colors, '#2894FF') + '''"
            />
            <path
              d="M659.26 892.05c-15.97 0-28.92-12.95-28.92-28.92V659.25c0-15.97 12.95-28.92 28.92-28.92 15.97 0 28.92 12.95 28.92 28.92v203.88c0 15.97-12.95 28.92-28.92 28.92z"
              fill="''' + getColor(2, color, colors, '#2894FF') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.shouyingziliao:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M96 240.21v80.58h55.47v-80.58c0-32.11 24.88-58.24 55.47-58.24h610.13c30.58 0 55.47 26.13 55.47 58.24v543.57c0 32.11-24.88 58.24-55.47 58.24H206.93c-30.58 0-55.47-26.13-55.47-58.24v-482.7H96v482.7c0 64.06 49.92 116.48 110.93 116.48h610.13c61.01 0 110.93-52.42 110.93-116.48V240.21c0-64.06-49.92-116.48-110.93-116.48H206.93C145.92 123.73 96 176.15 96 240.21z"
              fill="''' + getColor(0, color, colors, '#191C23') + '''"
            />
            <path
              d="M435.26 391.82h-182.1c-15.32 0-27.73-12.42-27.73-27.73s12.42-27.73 27.73-27.73h182.1c15.32 0 27.73 12.42 27.73 27.73s-12.41 27.73-27.73 27.73zM435.26 687.64h-182.1c-15.32 0-27.73-12.42-27.73-27.73s12.42-27.73 27.73-27.73h182.1c15.32 0 27.73 12.42 27.73 27.73s-12.41 27.73-27.73 27.73zM391.34 539.73H253.16c-15.32 0-27.73-12.42-27.73-27.73 0-15.32 12.42-27.73 27.73-27.73h138.19c15.32 0 27.73 12.42 27.73 27.73 0 15.32-12.42 27.73-27.74 27.73z"
              fill="''' + getColor(1, color, colors, '#191C23') + '''"
            />
            <path
              d="M659.22 609.07c-91.75 0-166.4-74.65-166.4-166.4s74.65-166.4 166.4-166.4 166.4 74.65 166.4 166.4-74.64 166.4-166.4 166.4z m0-277.34c-61.17 0-110.93 49.76-110.93 110.93S598.05 553.6 659.22 553.6c61.17 0 110.93-49.76 110.93-110.93s-49.76-110.94-110.93-110.94z"
              fill="''' + getColor(2, color, colors, '#2894FF') + '''"
            />
            <path
              d="M586.5 747.77c-6.09 0-12.23-1.34-18.05-4.06-15.02-7.04-24.36-21.71-24.36-38.31V562.84c0-15.32 12.42-27.73 27.73-27.73s27.73 12.42 27.73 27.73v114.45l32.58-27.15c15.69-13.07 38.47-13.08 54.16 0l32.58 27.15V562.84c0-15.32 12.42-27.73 27.73-27.73s27.73 12.42 27.73 27.73V705.4c0 16.59-9.33 31.27-24.36 38.31s-32.27 4.81-45.02-5.81l-45.75-38.12-45.75 38.13c-7.79 6.5-17.3 9.86-26.95 9.86z"
              fill="''' + getColor(3, color, colors, '#2894FF') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.xiadan:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M508.26 512.72m-448 0a448 448 0 1 0 896 0 448 448 0 1 0-896 0Z"
              fill="''' + getColor(0, color, colors, '#2894FF') + '''"
            />
            <path
              d="M714.94 296.35c-2.4-4.86-8.45-9.32-12.02-10.94-4.65-1.4-9.66-0.97-14.02 1.18L268.63 496.73c-6 3-9.96 8.94-10.44 15.63a18.973 18.973 0 0 0 8.12 16.95l98.48 67 177.48-149.73c19.8-17.34 28.88-7.98 18.5 4.48L374.74 635.42l0.13 88.44a18.946 18.946 0 0 0 13.15 18.05c7.83 2.53 16.4-0.28 21.22-6.95l36.37-50.35 13.95-21.19 13.4 8.96 96.9 67.08a18.937 18.937 0 0 0 17.23 2.24c5.78-2.08 10.2-6.84 11.84-12.76l116.75-420.29c1.15-4.14 0.84-8.46-0.74-12.3z m0 0"
              fill="''' + getColor(1, color, colors, '#FFFFFF') + '''"
            />
            <path
              d="M459.56 663.42l-65.17-47.47-19.64 19.47s3.3 59.87 75.01 42.9l9.8-14.9z"
              fill="''' + getColor(2, color, colors, '#CCCCCC') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.daifahuo:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M824 105.84H616v370.18c0 16.53-16.33 27.28-30.22 19.89L512 456.61l-73.78 39.29c-13.88 7.39-30.22-3.36-30.22-19.89V105.84H200c-57.2 0-104 49.85-104 110.77v221.54c0 20.31 15.6 36.92 34.67 36.92H148v334.98c0 59.46 45.67 108.1 101.49 108.1H774.5c55.82 0 101.49-48.65 101.49-108.1V475.08h17.33c19.07 0 34.67-16.62 34.67-36.92V216.61C928 155.69 881.2 105.84 824 105.84z"
              fill="''' + getColor(0, color, colors, '#333333') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.daifukuan:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M960 250.67c0-61.6-50.4-112-112-112H176c-61.6 0-112 50.4-112 112v522.67c0 61.6 50.4 112 112 112h672c61.6 0 112-50.4 112-112V624H722.64c-61.6 0-112-50.4-112-112s50.4-112 112-112H960V250.67z"
              fill="''' + getColor(0, color, colors, '#333333') + '''"
            />
            <path
              d="M738.33 514.73m-56 0a56 56 0 1 0 112 0 56 56 0 1 0-112 0Z"
              fill="''' + getColor(1, color, colors, '#333333') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.daishouhuo:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M260.03 789.96a112 114.04 0 1 0 224 0 112 114.04 0 1 0-224 0Z"
              fill="''' + getColor(0, color, colors, '#333333') + '''"
            />
            <path
              d="M622.47 789.96a112 114.04 0 1 0 224 0 112 114.04 0 1 0-224 0Z"
              fill="''' + getColor(1, color, colors, '#333333') + '''"
            />
            <path
              d="M945.9 497.7L833.88 313.98c-15.58-25.55-41.8-40.9-69.88-40.9H652v-61.23c0-50.73-37.61-91.85-84-91.85H148c-46.39 0-84 41.12-84 91.85v336.78c0 50.64 37.69 91.85 84 91.85v91.85c0 43.04 27.32 78.92 63.95 88.75 6.26 1.68 12.28-3.97 11.6-10.97-3.02-30.94 1.79-64.4 23.21-100.34 28.62-48 75.65-80.47 128.04-79.43 81.14 1.62 146.53 74.12 146.53 163.23 0 6.25-0.35 12.41-1 18.46-0.7 6.5 4.04 12.15 10.03 12.15h45.83c6.15 0 10.63-5.96 9.93-12.64-2.74-26.16 0.1-54.14 12.87-83.51 25.18-57.9 77.83-98.14 136.46-97.72 81.97 0.57 148.33 73.49 148.33 163.25 0 10.28-0.98 20.3-2.64 30.05 43.88-2.97 78.86-42.56 78.86-91.28v-183.7c0-18.13-4.91-35.85-14.1-50.93zM484 484.33H353.33c-15.4 0-28-13.78-28-30.62v-183.7c0-16.84 12.6-30.62 28-30.62s28 13.78 28 30.62V423.1H484c15.4 0 28 13.78 28 30.62 0 16.83-12.6 30.61-28 30.61z m364 51.75c0 13.5-10.01 24.45-22.36 24.45H736.2c-12.35 0-22.36-10.95-22.36-24.45v-146.7c0-13.5 10.01-24.45 22.36-24.45h22.36c7.48 0 14.46 4.09 18.61 10.89l67.08 110.02c2.45 4.02 3.76 8.74 3.76 13.57v36.67z"
              fill="''' + getColor(2, color, colors, '#333333') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.shouhoujilu:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M848 138.67H176c-61.6 0-112 50.4-112 112v522.67c0 61.6 50.4 112 112 112h672c61.6 0 112-50.4 112-112V250.67c0-61.6-50.4-112-112-112zM708 596.53H395.48l68.94 55.46c12 9.65 13.92 27.37 4.26 39.37-9.65 12-27.37 13.92-39.37 4.26l-130.9-105.31c-0.46-0.37-0.8-0.82-1.23-1.22a27.99 27.99 0 0 1-1.65-1.62c-0.74-0.8-1.43-1.63-2.06-2.5-0.44-0.59-0.84-1.2-1.23-1.83-0.55-0.89-1.04-1.79-1.48-2.72a30.4 30.4 0 0 1-0.95-2.28c-0.33-0.89-0.61-1.78-0.84-2.7-0.22-0.86-0.4-1.72-0.54-2.61-0.15-0.96-0.24-1.91-0.29-2.88-0.03-0.48-0.14-0.94-0.14-1.43 0-0.38 0.1-0.73 0.11-1.11 0.04-1.07 0.16-2.11 0.32-3.17 0.11-0.73 0.22-1.45 0.39-2.16 0.27-1.15 0.64-2.26 1.05-3.37 0.21-0.55 0.4-1.1 0.65-1.64 0.52-1.17 1.16-2.29 1.85-3.4 0.27-0.42 0.52-0.84 0.81-1.25 0.34-0.49 0.59-1.02 0.97-1.49 0.49-0.61 1.08-1.07 1.61-1.63 0.31-0.33 0.63-0.65 0.95-0.97 0.99-0.94 2.02-1.8 3.11-2.57a27.997 27.997 0 0 1 4.48-2.59 28.117 28.117 0 0 1 4.9-1.72 27.655 27.655 0 0 1 5.37-0.79c0.48-0.03 0.93-0.14 1.42-0.14h392c15.4 0 28 12.6 28 28 0.01 15.41-12.59 28.01-27.99 28.01z m27.89-139.96c-0.04 1.06-0.16 2.11-0.32 3.17-0.11 0.73-0.22 1.45-0.39 2.16-0.27 1.15-0.64 2.26-1.05 3.37-0.21 0.55-0.4 1.1-0.64 1.64-0.52 1.17-1.16 2.29-1.85 3.4-0.27 0.42-0.52 0.84-0.81 1.25-0.34 0.49-0.59 1.02-0.97 1.49-0.49 0.61-1.08 1.07-1.61 1.63-0.31 0.33-0.63 0.65-0.95 0.97a27.896 27.896 0 0 1-4.33 3.39c-1.06 0.67-2.14 1.26-3.26 1.78-0.6 0.28-1.21 0.53-1.83 0.76-1.01 0.38-2.03 0.7-3.07 0.96-0.78 0.2-1.56 0.36-2.36 0.49-1 0.16-2 0.25-3.01 0.31-0.48 0.03-0.93 0.14-1.42 0.14H316c-15.4 0-28-12.6-28-28s12.6-28 28-28h312.52l-68.94-55.46c-12-9.65-13.92-27.37-4.27-39.37 9.65-12 27.37-13.92 39.37-4.26l130.9 105.31c0.46 0.37 0.8 0.82 1.23 1.21 0.58 0.53 1.13 1.06 1.66 1.64 0.74 0.8 1.42 1.62 2.05 2.48 0.44 0.6 0.85 1.21 1.24 1.85 0.54 0.88 1.03 1.77 1.47 2.7 0.36 0.75 0.67 1.52 0.96 2.31 0.32 0.88 0.6 1.77 0.84 2.68 0.22 0.86 0.4 1.73 0.54 2.62 0.15 0.96 0.24 1.91 0.29 2.87 0.03 0.48 0.14 0.94 0.14 1.43 0 0.35-0.1 0.71-0.11 1.08z"
              fill="''' + getColor(0, color, colors, '#333333') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.yishouhuo:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M824.01 105.84H200c-57.2 0-104 49.85-104 110.77v221.54c0 20.31 15.6 36.92 34.67 36.92H148v334.98c0 59.46 45.67 108.1 101.49 108.1h525.02c55.82 0 101.49-48.65 101.49-108.1V475.08h17.33c19.07 0 34.67-16.62 34.67-36.92V216.61c0.01-60.92-46.79-110.77-103.99-110.77zM629.85 623.91L516.71 737.05c-10.37 10.37-27.13 10.58-37.24 0.47l-85.8-85.79c-10.11-10.11-9.9-26.87 0.47-37.24 10.37-10.37 27.13-10.58 37.24-0.47l67.41 67.41 94.28-94.28c10.37-10.37 27.13-10.58 37.24-0.47s9.91 26.86-0.46 37.23z"
              fill="''' + getColor(0, color, colors, '#333333') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.gouwuche_mian:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M316.74 910.03a49.98 49.97 0 1 0 99.96 0 49.98 49.97 0 1 0-99.96 0Z"
              fill="''' + getColor(0, color, colors, '#2894FF') + '''"
            />
            <path
              d="M719.89 910.03a49.98 49.97 0 1 0 99.96 0 49.98 49.97 0 1 0-99.96 0Z"
              fill="''' + getColor(1, color, colors, '#2894FF') + '''"
            />
            <path
              d="M942.72 245.78a69.973 69.973 0 0 0-52.7-23.93H222.11l-11.67-62.52c-6.45-34.56-29.61-63.44-61.95-77.25l-35.75-15.26c-17.77-7.59-38.33 0.67-45.92 18.43-7.59 17.77 0.67 38.32 18.44 45.9L121 146.41a34.875 34.875 0 0 1 20.64 25.75l16.84 90.2 61.65 454.07a104.939 104.939 0 0 0 34.96 64.92 104.933 104.933 0 0 0 69.05 25.91h474.85c25.4 0 49.92-9.2 69.05-25.9s31.54-39.76 34.96-64.92l56.37-415.22a69.986 69.986 0 0 0-16.65-55.44z m-251 421.48h-250c-19.33 0-35-15.67-35-35s15.67-35 35-35h250c19.33 0 35 15.67 35 35s-15.67 35-35 35z"
              fill="''' + getColor(2, color, colors, '#2894FF') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.shouye_xian:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M823 960.16H201c-57.93 0-105.06-47.13-105.06-105.06V421.26c0-28.46 12.59-55.18 34.53-73.3L445.35 87.9c38.8-32.04 95.1-32.02 133.87 0.05L893.6 347.98c21.91 18.12 34.47 44.82 34.47 73.25v433.86c-0.01 57.94-47.14 105.07-105.07 105.07zM512.25 133.98c-7.9 0-15.8 2.66-22.25 7.99L175.12 402.03a24.84 24.84 0 0 0-9.06 19.23V855.1c0 19.26 15.67 34.94 34.94 34.94h622c19.26 0 34.94-15.67 34.94-34.94V421.23c0-7.46-3.3-14.46-9.04-19.21L534.52 141.99a34.858 34.858 0 0 0-22.27-8.01z"
              fill="''' + getColor(0, color, colors, '#191C23') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.shouye_mian:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M893.59 347.97L579.21 87.95c-38.77-32.07-95.07-32.09-133.87-0.05L130.46 347.96c-21.94 18.12-34.53 44.84-34.53 73.3V855.1c0 57.93 47.13 105.06 105.06 105.06h622c57.93 0 105.06-47.13 105.06-105.06V421.23c0.01-28.43-12.55-55.13-34.46-73.26zM672 733.9c0 19.33-15.67 35-35 35H387c-19.33 0-35-15.67-35-35s15.67-35 35-35h250c19.33 0 35 15.67 35 35z"
              fill="''' + getColor(0, color, colors, '#2894FF') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.wode_mian:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M861 889.8H163c-19.25 0-35 15.75-35 35s15.75 35 35 35h698c19.25 0 35-15.75 35-35s-15.75-35-35-35zM512 64.2c-212.08 0-384 171.92-384 384s171.92 384 384 384 384-171.92 384-384c0-212.07-171.92-384-384-384z m204.54 516.91C671.21 650.67 594.75 692.2 512 692.2c-82.74 0-159.21-41.53-204.54-111.09-10.55-16.2-5.98-37.88 10.21-48.43 16.19-10.55 37.88-5.98 48.43 10.21C398.46 592.55 453 622.2 512 622.2s113.53-29.65 145.9-79.31c10.55-16.19 32.24-20.76 48.43-10.21 16.19 10.55 20.77 32.23 10.21 48.43z"
              fill="''' + getColor(0, color, colors, '#2894FF') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.gouwuche_xian:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M942.72 245.78a69.973 69.973 0 0 0-52.7-23.93H222.11l-11.67-62.52c-6.45-34.56-29.61-63.44-61.95-77.25l-35.75-15.26c-17.77-7.59-38.33 0.67-45.92 18.43-7.59 17.77 0.67 38.32 18.44 45.9L121 146.41a34.875 34.875 0 0 1 20.64 25.75l16.84 90.2 61.65 454.07a104.939 104.939 0 0 0 34.96 64.92 104.933 104.933 0 0 0 69.05 25.91h474.85c25.4 0 49.92-9.2 69.05-25.9A104.913 104.913 0 0 0 903 716.44l56.37-415.22a69.986 69.986 0 0 0-16.65-55.44zM833.65 707.02c-2.34 17.26-17.25 30.28-34.67 30.28H324.14c-17.42 0-32.32-13.02-34.67-30.28L233.1 291.8h656.92l-56.37 415.22z"
              fill="''' + getColor(0, color, colors, '#191C23') + '''"
            />
            <path
              d="M316.74 910.03a49.98 49.97 0 1 0 99.96 0 49.98 49.97 0 1 0-99.96 0Z"
              fill="''' + getColor(1, color, colors, '#191C23') + '''"
            />
            <path
              d="M719.89 910.03a49.98 49.97 0 1 0 99.96 0 49.98 49.97 0 1 0-99.96 0Z"
              fill="''' + getColor(2, color, colors, '#191C23') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.wode_xian:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M512 128.82c43.15 0 84.97 8.44 124.3 25.07 38.02 16.08 72.19 39.12 101.54 68.47 29.35 29.35 52.39 63.52 68.47 101.54 16.64 39.33 25.07 81.15 25.07 124.3 0 43.15-8.44 84.97-25.07 124.3-16.08 38.02-39.12 72.19-68.47 101.54-29.35 29.35-63.52 52.39-101.54 68.47-39.33 16.64-81.15 25.07-124.3 25.07s-84.97-8.44-124.3-25.07c-38.02-16.08-72.19-39.12-101.54-68.47-29.35-29.35-52.39-63.52-68.47-101.54-16.64-39.33-25.07-81.15-25.07-124.3 0-43.14 8.44-84.97 25.07-124.3 16.08-38.02 39.12-72.19 68.47-101.54 29.35-29.35 63.52-52.39 101.54-68.47 39.33-16.63 81.16-25.07 124.3-25.07m0-64.62c-212.08 0-384 171.92-384 384s171.92 384 384 384 384-171.92 384-384c0-212.07-171.92-384-384-384zM861 889.8H163c-19.25 0-35 15.75-35 35s15.75 35 35 35h698c19.25 0 35-15.75 35-35s-15.75-35-35-35z"
              fill="''' + getColor(0, color, colors, '#191C23') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.jiagou:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M512 64C264.58 64 64 264.58 64 512s200.58 448 448 448 448-200.58 448-448S759.42 64 512 64z m256 451.7c0 17.22-14.09 31.3-31.3 31.3H547v189.7c0 17.22-14.09 31.3-31.3 31.3h-7.39c-17.22 0-31.3-14.09-31.3-31.3V547H287.3c-17.22 0-31.3-14.09-31.3-31.3v-7.39c0-17.22 14.09-31.3 31.3-31.3H477V287.3c0-17.22 14.09-31.3 31.3-31.3h7.39c17.22 0 31.3 14.09 31.3 31.3V477h189.7c17.22 0 31.3 14.09 31.3 31.3v7.4z"
              fill="''' + getColor(0, color, colors, '#2894FF') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.quanbushangpin_xian:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M372 477H201c-57.9 0-105-47.1-105-105V201c0-57.9 47.1-105 105-105h171c57.9 0 105 47.1 105 105v171c0 57.9-47.1 105-105 105zM201 166c-19.3 0-35 15.7-35 35v171c0 19.3 15.7 35 35 35h171c19.3 0 35-15.7 35-35V201c0-19.3-15.7-35-35-35H201zM823 477H652c-57.9 0-105-47.1-105-105V201c0-57.9 47.1-105 105-105h171c57.9 0 105 47.1 105 105v171c0 57.9-47.1 105-105 105zM652 166c-19.3 0-35 15.7-35 35v171c0 19.3 15.7 35 35 35h171c19.3 0 35-15.7 35-35V201c0-19.3-15.7-35-35-35H652zM372 928H201c-57.9 0-105-47.1-105-105V652c0-57.9 47.1-105 105-105h171c57.9 0 105 47.1 105 105v171c0 57.9-47.1 105-105 105zM201 617c-19.3 0-35 15.7-35 35v171c0 19.3 15.7 35 35 35h171c19.3 0 35-15.7 35-35V652c0-19.3-15.7-35-35-35H201zM823 928H652c-57.9 0-105-47.1-105-105V652c0-57.9 47.1-105 105-105h171c57.9 0 105 47.1 105 105v171c0 57.9-47.1 105-105 105zM652 617c-19.3 0-35 15.7-35 35v171c0 19.3 15.7 35 35 35h171c19.3 0 35-15.7 35-35V652c0-19.3-15.7-35-35-35H652z"
              fill="''' + getColor(0, color, colors, '#191C23') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.quanbushangpin_mian:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M372 477H201c-57.9 0-105-47.1-105-105V201c0-57.9 47.1-105 105-105h171c57.9 0 105 47.1 105 105v171c0 57.9-47.1 105-105 105zM823 477H652c-57.9 0-105-47.1-105-105V201c0-57.9 47.1-105 105-105h171c57.9 0 105 47.1 105 105v171c0 57.9-47.1 105-105 105zM372 547H201c-57.9 0-105 47.1-105 105v171c0 57.9 47.1 105 105 105h171c57.9 0 105-47.1 105-105V652c0-57.9-47.1-105-105-105z m11.21 250.93c0 19.25-15.75 35-35 35h-122c-19.25 0-35-15.75-35-35s15.75-35 35-35h122c19.25 0 35 15.75 35 35zM823 547H652c-57.9 0-105 47.1-105 105v171c0 57.9 47.1 105 105 105h171c57.9 0 105-47.1 105-105V652c0-57.9-47.1-105-105-105z m10.5 250.93c0 19.25-15.75 35-35 35h-122c-19.25 0-35-15.75-35-35s15.75-35 35-35h122c19.25 0 35 15.75 35 35z"
              fill="''' + getColor(0, color, colors, '#2894FF') + '''"
            />
          </svg>
        ''';
        break;
      case IconNames.xiaoxi:
        svgXml = '''
          <svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
            <path
              d="M838 94.99H186c-56.86 0-103.12 46.26-103.12 103.12v460c0 56.86 46.26 103.12 103.12 103.12h164.6l103.58 140.15c12.98 17.56 32.95 27.63 54.78 27.63s41.8-10.07 54.78-27.63l103.58-140.15H838c56.86 0 103.12-46.26 103.12-103.12v-460c0-56.86-46.26-103.12-103.12-103.12z m36.88 563.12c0 20.33-16.54 36.88-36.88 36.88H660.71c-16.78 0-32.74 8.05-42.72 21.55L510.47 862c-0.2 0.27-0.56 0.76-1.51 0.76s-1.31-0.5-1.51-0.76L399.93 716.54c-9.97-13.49-25.94-21.55-42.72-21.55H186c-20.33 0-36.88-16.54-36.88-36.88v-460c0-20.33 16.54-36.88 36.88-36.88h652c20.33 0 36.88 16.54 36.88 36.88v460z"
              fill="''' + getColor(0, color, colors, '#191C23') + '''"
            />
            <path
              d="M301.33 438.11m-50 0a50 50 0 1 0 100 0 50 50 0 1 0-100 0Z"
              fill="''' + getColor(1, color, colors, '#191C23') + '''"
            />
            <path
              d="M512 438.11m-50 0a50 50 0 1 0 100 0 50 50 0 1 0-100 0Z"
              fill="''' + getColor(2, color, colors, '#191C23') + '''"
            />
            <path
              d="M722.67 438.11m-50 0a50 50 0 1 0 100 0 50 50 0 1 0-100 0Z"
              fill="''' + getColor(3, color, colors, '#191C23') + '''"
            />
          </svg>
        ''';
        break;

    }

    return SvgPicture.string(svgXml, width: this.size, height: this.size);
  }
}
